package com.agrimall.mapper;

import com.agrimall.entity.Cart;
import org.apache.ibatis.annotations.Param;
import java.util.List;

/**
 * 购物车Mapper接口
 */
public interface CartMapper {
    /**
     * 根据ID查询购物车项
     */
    Cart selectById(Long cartId);
    
    /**
     * 根据用户ID和商品ID查询购物车项
     */
    Cart selectByUserIdAndProductId(@Param("userId") Long userId, @Param("productId") Long productId);
    
    /**
     * 根据用户ID查询所有购物车项
     */
    List<Cart> selectByUserId(Long userId);
    
    /**
     * 插入购物车项
     */
    int insert(Cart cart);
    
    /**
     * 更新购物车项
     */
    int update(Cart cart);
    
    /**
     * 删除购物车项
     */
    int delete(Long cartId);
    
    /**
     * 清空用户购物车
     */
    int deleteByUserId(Long userId);
    
    /**
     * 统计用户购物车商品种类数
     */
    int countByUserId(Long userId);
}

